package spaceinvaders.elements;

import spaceinvaders.engine.Espaco;
import java.awt.Graphics2D;
import java.awt.Image;
import spaceinvaders.elements.ElementoCriar.ElementosAnimados;

/**
 * Elemento
 * Todos elementos do jogo seja ele Animado ou Inerte, sao basicamente definidos
 * aqui.
 * Exemplo de definicoes :
 *  Atributos: posicao inicial, figura a ser usada na execucao do programa.
 *  Metodos: getPos() e setPos() .
 *
 * @author Luis Freitas
 */
public abstract class Elemento {

    protected Espaco Esp;
    protected Image imagem;
    protected int PosX;
    protected int PosY;
    protected int Life;

    public Elemento(Espaco Esp) {
        this.Esp = Esp;
    }

    public abstract void desenha(Graphics2D g2, ElementosAnimados Elem, boolean FLAGX,boolean FLAGY);

    public int getPosX() {
        return PosX;
    }

    public void setPosX(int PosX) {
        this.PosX = PosX;
    }

    public int getPosY() {
        return PosY;
    }

    public void setPosY(int PosY) {
        this.PosY = PosY;
    }

}
